Skip to content

Conversation

@Enselic
Copy link
Member

@Enselic Enselic commented Jan 2, 2026

Closes #150514

Merging this PR unblocks #150591 and that PR will also act as a regression test since the code in that PR does not build without this fix. We could add a temporary dummy eii item to std before that PR lands, but it does not seem worth the effort.

To be honest I don't fully understand why #[rustc_macro_transparency = "transparent"] works, all I know is that it works. Without it, we get > 800 errors that looks like this.

r? @jdonszelmann is maybe interested in reviewing? Of course feel free to re-roll if you don't have time right now though.

Tracking issues

@Enselic Enselic added the F-extern_item_impls `#![feature(extern_item_impls)]` label Jan 2, 2026
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 2, 2026
@rustbot
Copy link
Collaborator

rustbot commented Jan 2, 2026

jdonszelmann is currently at their maximum review capacity.
They may take a while to respond.

@Enselic

This comment was marked as outdated.

@rustbot rustbot added the T-libs Relevant to the library team, which will review and decide on the PR/issue. label Jan 2, 2026
@Enselic
Copy link
Member Author

Enselic commented Jan 2, 2026

Ok let's roll then:

r? compiler

@rustbot rustbot assigned lcnr and unassigned Mark-Simulacrum Jan 2, 2026
@Enselic Enselic added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 2, 2026
@Enselic Enselic marked this pull request as draft January 2, 2026 12:39
@Enselic Enselic marked this pull request as ready for review January 2, 2026 16:44
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jan 2, 2026
@Enselic
Copy link
Member Author

Enselic commented Jan 2, 2026

@rustbot ready

@jdonszelmann
Copy link
Contributor

I'll do it anyway, reached cap because of the holidays
r? jdonszelmann

@rustbot rustbot assigned jdonszelmann and unassigned lcnr Jan 6, 2026
@jdonszelmann
Copy link
Contributor

So I think what's going on here is that in std, all items must have a stability attribute. And since we generate a bunch of extra items, their stability attributes match. I remember leaving a FIXME somewhere even that we have to forward more attributes. However, I'd like to be somewhat systematic about that. Making sure we forward all the right attributes to the right items, not just stability.

I'm not sure I understand the transparency attributes entirely correctly, but I think stability is tracked through spans and as such, the spans generated by the macro expansion affect the stability of the items. I think the real solution is to forward stability attributes themselves?

@jdonszelmann
Copy link
Contributor

I could be wrong there, maybe you've tried that

@jdonszelmann
Copy link
Contributor

(oh, sent you a message on zulip btw)

@jdonszelmann
Copy link
Contributor

@rustbot author

@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 7, 2026
@rustbot rustbot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jan 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-extern_item_impls `#![feature(extern_item_impls)]` S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hundreds of missing stability attribute errors with trivial Externally Implementable Item (eii) function in library/std

5 participants